package com.xdwanj.service;

import com.xdwanj.pojo.Emp;
import com.xdwanj.util.PageBean;

import java.util.List;

public interface EmpService {
    /**
     * 根据 员工名字，角色id，当前页码，页面大小
     *
     * @param queryName     模糊查询关键字
     * @param roid          角色id
     * @param currentPageNo 当前页码
     * @param PageSize      页面大小
     * @return 员工列表
     */
    PageBean<Emp> findEmpList(String queryName, int roid, int currentPageNo, int PageSize);

    /**
     * 员工修改并且修改其角色
     * if(ridList == null) 不对角色列表进行修改
     * if(ridList.size() == 0) 删除全部角色列表
     * if(ridList.size() != 0) 修改角色列表
     *
     * @param emp     员工对象
     * @param ridList 角色id集合
     * @return 布尔类型
     */
    boolean updateEmp(Emp emp, List<Integer> ridList);

    /**
     * 按 Emp Id 删除 Emp 和 Admin 用户
     *
     * @param eid 员工id
     * @return 成功与否
     */
    boolean deleteEmpAndAdminUserByEmpId(int eid);

    /**
     * 员工添加
     *
     * @param emp     员工对象
     * @param ridList 角色id集合
     * @return 数据库中的员工对象
     */
    Emp addEmp(Emp emp, List<Integer> ridList);
}
